Methods and systems for web site categorisation and filtering

ABSTRACT

Methods for configuring website categorisation software, categorising websites and a method and system for controlling access to websites. A number of websites are selected, all of which relate to a single predetermined category of subject matter. In order to create a category profile, a website is selected from the set ( 3 ), the website markup language is read ( 5 ), page content information extracted ( 7 ) and then analysed ( 9 ). The system may then check whether it has analysed a sufficient number of websites to allow for a reliable categorisation of subsequent websites ( 13 ). Individual websites are categorised by extracting their page content information ( 45 ) and categorising ( 51 ) on the basis of the degree of similarity between the information and the category profile ( 55 ). To control access, the system compares a website identifier with the database of categorised identifiers.

The present invention relates to methods and systems for web site categorisation and filtering and in particular to a method for automatic categorisation of web sites.

BACKGROUND TO THE INVENTION

The term web filtering is used to describe the process by which companies restrict or monitor their employees' internet use. Web filtering is achieved by a number of simple and complex means, the key types are described below.

Firms without any web filtering solution in place have an ability to read the URL requests from users from logs stored on their “firewall”. This enables at least some review of access to take place, albeit after access to the website has occurred. This is labour intensive and inadequate in providing substantive proof that a particular user was responsible for the inappropriate access.

Black lists in software can list undesirable web addresses and prevent access to those sites. White lists list acceptable web addresses and are often used to restrict access to only those sites that are contained on the white list. The scale of the internet is such that maintenance of lists is a challenge and for users, it is very frustrating if you have a genuine reason or need to access a site but first must seek approval and have it included in allowed URLs.

In more sophisticated solutions, black and white lists are used to list “exceptions to the rule” for users. For example, a user may not be allowed access to travel sites but is provided access to low cost airline websites to book flights.

One well known web filtering technique is to provide a database of thousands or millions of web addresses. By manually examining each of these web sites and categorising the content on the web pages, it is possible to create “user profiles” whereby various levels of staff can get controlled access to the internet. This (together with reporting) means that one user may get no access to the internet, a call centre worker may only have access to a single web site, a secretary has access to travel sites but not shopping and a manager has more general access with the exception of inappropriate sites such as illegal/violent/racist/pornographic etc.

The demand for this type of approach has created a small number of database builders who typically invest heavily to maintain and grow their URL lists. Many thousands of URLs can be initially “harvested” using a variety of means, but manual categorisation is still predominantly used to ensure accuracy of categorisation.

Manual categorisation requires each URL reviewer to read the content/looks at images on the website, decide the kind of web site it is and categorises it in their database accordingly. The accuracy of this approach is variable—it is relatively easy to spot a pornography web site for example, but less easy to identify anonymous proxy sites.

With limited time available to categorise each site, any web site that deliberately seeks to mislead the casual review of a web site (e.g. a cookery site which when examined thoroughly turns out in fact to be pornography) can easily be successful in having the inappropriate address categorised as legitimate. Misclassifications are extremely frustrating for users and are a source of conflict between suppliers and clients.

A typical URL classifier will review some hundreds of web addresses daily. However, the internet is said to be growing by something in the region of 7.5M new or re-named web sites each day across the world. Manual categorisation typically classifies 500 web sites per person per day. Therefore, 15000 classifiers would be required to classify these websites. The cost of employing such a large number of staff would be considerable.

Companies who offer web filtering services advertise their services on the basis of the size of their database of categorised sites. It is usual for these databases to contain 15 to 17 million categorised sites. In the context of the overall web, these numbers are inconsequential and where users seek a URL not listed in the URL database, they will access the web site, whatever the content. This is embarrassing for suppliers in this field, but also, in certain markets (e.g. youth, schools etc) it is unacceptable.

In addition web filtering suppliers are not particularly motivated to re-check URLs previously categorised: a significant volume of sites either re-name themselves or cease being operational and to delete these from URL lists risks admitting to promoting a database which appears to be growing slightly, static or even declining. Therefore the claims of web filtering suppliers about database sizes require further inspection to reach any conclusion about their capability.

Image scanning is a useful (but not foolproof) means of blocking pornography from a client network. However it tends to be expensive and is not a stand alone solution to managing broad internet access policy.

Keyword Request Analysis examines the keywords being requested by the user either within the web address being sought or within a search engine. These vary in sophistication where used. It is possible to provide an ability for users to tailor keyword requests to ensure vertical market needs are addressed. An example of this would be a Building College whose previous system stopped students searching for wire strippers, road hardcore etc. Systems can be tuned by users to allow these specific phrases but prevent the searching of the word “strippers” alone.

Some products use “in line” page scanning. This works typically where the user has asked for a web address. Prior to the site being delivered to the user, the text on the web site is scored against pre-listed words (e.g. “gamble” “poker” “pontoons”). If the score adds up to a number above a certain threshold, the user could be denied access to the web site. The advantage of this approach is that the keyword scanning does not need to have previously identified the web site and categorised it. The disadvantage of this approach is that the scanning is only effective where the words listed are scored (i.e. if offensive words, expressions—in whichever language—are not listed, it will gain a low score and be allowed on the user PC). Additionally, keyword scanning (using the gambling example above) tends to only be able to differentiate say a gambling web site from a “help from gambling” web site if “good” words/combinations are listed and negate the score gained by the offensive word.

If the “good” words are not listed or used sufficiently often, perfectly reasonable sites (e.g. Health Education) can be wrongly blocked.

Finally, the scanning of web pages for keywords is most effective in a restricted range of web sites. Pornography is a good example, where much of the language used will be slang and unique to more offensive/inappropriate sites. It will not for example be able to differentiate whether a sports story is on a sports site or a news site.

Accordingly, there are a number of problems associated with current web filtering technologies.

Database products fall further behind as a result of the sheer size of increase in the internet every day. No supplier can invest in enough resources to match internet growth/amendment rates.

“English language” products with (predominantly) English language URL lists are proving ineffective against detecting inappropriate sites within our multi cultural society.

Black & White lists, URL lists, Keyword Request review and keyword page scanning all depend upon previously scoped defence mechanisms—where a web site does not fit in with previously scoped words, phrases, exceptions etc, the web filtering fails to be effective.

Keyword page scanning is most effective in web sites with an emphasis on unique language for a particular type of site—e.g. slang words on porn sites. The ability to identify mainstream web sites by keyword scanning is very much more limited and in some cases, completely ineffective.

It is an object of the present invention to provide an improved method of website categorisation and filtering.

SUMMARY OF THE INVENTION

In accordance with a first aspect of the present invention there is provided a method for configuring website categorisation software to automatically categorise websites from a predetermined category of website, the method comprising the steps of:

(i) identifying a website from the predetermined category; (ii) reading a markup language description of the website; (iii) extracting page content information from the markup language description; (iv) analysing the page content information; (v) repeating steps (i) to (iv) for n websites in the predetermined category; and (vi) creating a profile for the website category based upon a combination of the results of analysing the page content information of n websites.

Preferably, the step of analysing the page content comprises analysing text or tokens on the page.

Preferably, the step of analysing text on the page comprises counting the frequency of use different words on the page.

More preferably, the frequency of use of all words is counted.

Preferably, the step of analysing the page content comprises extracting a predetermined number of the most frequently used words.

Preferably, the pattern of use of the most frequently used words is analysed.

Preferably, the result of the analysis of words is stored in a word table.

The present invention is designed to produce patterns of words which characterise a specific type (category) of website.

Preferably, the method further comprises assigning a probability weighting to a word or combination of words, the probability weighting providing a likelihood that a word or combination of words is to be found on a predetermined category of website.

Preferably, the probability weightings are stored in a category table.

Preferably, the markup language is HTML.

In accordance with a second aspect of the invention there is provided a method of categorising a website, the method comprising the steps of:

(i) identifying a website; (ii) reading a markup language description of the website; (iii) extracting page content information from the markup language description; (iv) comparing the page content information with one or more web site category profile; and (v) categorising the website on the basis of the degree of similarity between the profile and the extracted page content information.

Preferably, the web site category profile is created in accordance with the method of the first aspect of the invention.

Preferably, the step of analysing the page content comprises analysing the tokens or words on the page.

Preferably, the step of analysing the words on the page comprises counting the frequency of use of different words on the page.

More preferably, the frequency of use of all words is counted.

Preferably, the step of analysing the page content comprises extracting a predetermined number of the most frequently used words.

Preferably, the pattern of use of the most frequently used words is analysed.

Preferably, the result of the analysis of words is stored in a word table.

Preferably, the method further comprises applying the probability weighting of the first aspect of the invention to a word or combination of words, the probability weighting providing a likelihood that a word or combination of words is to be found on a predetermined category of website.

Preferably, the probability weightings are stored in a category table.

Preferably, the markup language is HTML.

In accordance with a third aspect of the invention there is provided a method of controlling access to a website requested by a user, the method comprising the steps of: comparing the web site identifier with a database containing web site identifiers in which the website identifiers are arranged in categories using the method of the second aspect of the invention;

granting or denying access to the website on the basis of the presence or absence of the website identifier in the database.

Preferably, the method further comprises applying a filter which determines which of the categories a user is permitted to access.

Preferably, the filter can be set to allow access to different categories of website for different users.

Preferably, the website identifier is a Uniform Resource Identifier or a Uniform Resource Locator.

Preferably, the method further comprises conducting a keyword check on the web site identifier.

Preferably, the method further comprises conducting active page scanning.

In accordance with a fourth aspect of the invention there is provided a system for controlling access to websites, the system comprising:

a database containing web site identifiers in which the website identifiers are arranged in categories using the method of the second aspect of the invention; communication means for transmitting a website identifier requested by a user to the database; comparison means for comparing the website identifier requested by the user with the contents of the database such that access to the website is granted or denied on the basis of the presence or absence of the website identifier in the database.

Preferably, the system further comprises a filter which determines which of the categories a user is permitted to access.

Preferably, the filter can be set to allow access to different categories of website for different users.

Preferably, the website identifier is a Uniform resource Identifier or a Uniform Resource Locator.

Preferably, the system further comprises a keyword checker for conducting a keyword check on the web site identifier.

Preferably, the system further comprises an active page scanner.

In accordance with a fifth aspect of the invention there is provided a system for controlling access to websites, the system comprising:

a database containing web site identifiers in which the website identifiers are arranged in categories; communication means for transmitting a website identifier requested by a user to the database; comparison means for comparing the website identifier requested by the user with the contents of the database such that access to the website is denied on the basis of the presence of the website identifier in the database; and computer software loaded on a user's server, the computer software being adapted to execute the method of the second aspect of the invention where the website identifier requested by the user is not on the database in order to categorise the website and to grant or deny the user access to the website on the basis of the categorisation.

Preferably, the computer software is adapted to send details of a categorised website to the database.

In this way, a user who is attempting to access a website in a category where the user does not have permission to access -websites, acts to update the database. For example, users might be denied access to entertainment websites that relates to new films or music. A new website in this category will be well known to fans of the film or music, but might take some time to be categorised by a website categorisation system. The present invention uses the attempted access by a fan to more rapidly categorise the website.

Preferably, the system further comprises a filter which determines which of the categories a user is permitted to access.

Preferably, the filter can be set to allow access to different categories of website for different users.

Preferably, the website identifier is a Uniform resource Identifier or a Uniform Resource Locator.

Preferably, the system further comprises a keyword checker for conducting a keyword check on the web site identifier.

Preferably, the system further comprises an active page scanner.

In accordance with a sixth aspect of the invention there is provided a computer program comprising program instructions to perform the method of the first aspect of the invention.

In accordance with a seventh aspect of the invention there is provided a computer program comprising program instructions to perform the method of the second aspect of the invention.

In accordance with an eighth aspect of the invention there is provided a computer program comprising program instructions to perform the method of the third aspect of the invention.

The present invention will now be described by way of example only with reference to the accompanying drawings in which:

FIG. 1 is a flow chart showing a first embodiment of a method for configuring website categorisation software by training the software to recognise certain categories of website;

FIG. 2 is a second embodiment of the method for configuring website categorisation software;

FIG. 3 is a flowchart showing an embodiment of the second aspect of the present invention;

FIG. 4 is a flow chart showing the manner in which websites are retained within a database;

FIG. 5 is an embodiment of a web filtering system in accordance with a fourth aspect of the present invention;

FIG. 6 is an embodiment of a web filtering system in accordance with the fifth aspect of the present invention;

FIG. 7 is a flow chart showing use of a web filtering system in accordance with the fourth aspect of the present invention; and

FIG. 8 is a flow diagram showing use of a web filtering system in accordance with the fifth aspect of the present invention.

The present invention provides a method and system for website categorisation and filtering. The purpose of the present invention is to greatly enhance the efficiency and speed of website categorisation by providing an automatic system and method for undertaking this task.

Accordingly, the various aspects of the present invention all relate in one form or another to the fundamental step of making categorisation of websites automatic.

FIGS. 1 and 2 relate to an initial step in the present invention for training a computer system upon which the software written in accordance with the present invention can be trained to recognise different categories of website.

In order to train a system made in accordance with the present invention, a number of websites, for example 20, are selected, all of which relate to a single category of subject matter (for example, racist websites). A particular website 3 from the set is selected, the website html is read 5, page content information extracted 7 and then analysed 9. Thereafter, the system may check whether it has analysed a sufficient number of websites to allow for reliable categorisation of subsequent websites 11. If the answer is no, then steps 3 to 9 are repeated with another website from the set, if the answer is yes then the website type is classified 13.

FIG. 2 provides a more detailed embodiment of the manner in which a system is trained.

Flowchart 15 shows the selection of URL page content 17 form in which information relating to the content of the website is extracted from the markup language. This information may be in the form of tokens or words, a token being a single word. The content information is typically in the form of words or sentences that describe the content of the website or webpage. These words or sentences are then analysed and sorted by frequency 21, such that a histogram or similar chart may be created to show the frequency of each word.

In this example, it is useful to ensure that not only nouns and verbs are categorised but also that conjunctions, adverbs and other parts of speech are categorised. For example, in the case of racist websites, it has been found that the word “they” occurs with high frequency and is a good indicator word for racist websites. Thereafter, the most frequently used words are extracted 23 and the word data is stored 27.

At this stage a user enters category information 25 based upon the category that the user is training the system to recognise. The word information is further arranged to provide information on the word count, category id and the name of the site 29 and this information is stored in a words table 31. In addition, a probability weighting that provides an indication on the likelihood that a combination of words can be ascribed to a specific category is calculated and the probability weighting 33 is input to a category table 35.

FIG. 3 shows an embodiment of the method of categorising 37 in accordance with the second aspect of the invention. In this embodiment, information is extracted from the webpage and analysed (shown generally by reference numeral 41) and is compared with category specific information 43 that has been derived from the manner in which the system was trained or configured to recognise certain categories of website.

A website 39 is automatically selected and information is extracted from the markup language used to describe and define the content of a webpage 45. As described with reference to FIG. 3, the information extracted relates to words or sentences that describe the content of the page. The words table 53 provides information on words, count and various categories 55 and compares this information to the data extracted from the markup language 47. Thereafter, the scored words 49 are identified and the probability weighting 59 from category table 57 is used in conjunction with the scored words information to calculate the overall score 51. A URL category id and score are then provided 53 and the webpage is classified 55. Classification of the webpage typically involves determining whether the overall score is above a threshold value which determines whether the webpage is to be categorised in a particular category. It is possible for a webpage to be contained in more than one category where scores exceed a threshold in more than one category.

FIG. 4 shows the manner in which URLs are added to categories. The figure shows the sites table 63, URL, category id and score 65, the category table 67 and a pass mark indicator 69. As is shown at reference numeral 71, websites are filtered into categories based on them exceeding a required pass mark or threshold. A database is then constructed in which a url list for each category is stored 73.

FIG. 5 is an example of a system in accordance with the present invention. The system 75 comprises a database 77 within which categorised websites are contained. Server 79 is the local server at the client or user site which is provided with web filtering software. User workstations 81 are also shown along with communications links 83 between user workstations 81 and server 79 as well as communications links 85 and 87 which allows communication between the database 77 and server 79.

Use of the system will now be described with reference to the flow chart of FIG. 7. After the start of the process 107, the user requests a URL 109 and the system checks URL database 77 (FIG. 5) and access policy 111 to determine whether access is allowed 113. Access may or may not be allowed if the URL is categorised and the user is unable to access that category. Therefore if no access is allowed 117, then the user's terminal screen displays a message stating that access had been denied 141 and the process stops 147. The database that is checked has been compiled in accordance with the automatic classification method of the present invention.

If access appears to be allowed 115, then the system conducts a URL keyword check 119. The URL keyword check calculates a score based on the words contained in the URL and determines whether a threshold 121 is exceeded. If yes 123, then a message informing the user that access has been denied 141 is displayed and the process terminates 147. If no 125, then the request is forwarded to a web server 127 where active page scanning 129 is conducted. If a threshold base 131 based on active page scanning 129 is exceeded then a message is displayed to the user informing him that access has been denied 141. If the threshold is not exceeded 135, then the requested page is displayed 139, thereafter the process stops 147.

As is apparent, the present invention is used herein to improve the number of URLs contained in the database 77, this greatly improves the reliability of the web filtering process described in FIG. 7. The process in FIG. 7 also contains known web filtering techniques such as URL keyword checking and active page scanning.

FIG. 6 shows a system in accordance with the present invention and, in particular, with reference to the fifth aspect of the present invention.

The system 91 shows a database 93 attached to a user or client server 97 which contains web filtering software and which further comprises a real time categorisation module 95. The real time categorisation module 95 operates to categorise websites in accordance with methods of the present invention. The server 97 is connected 101 to user terminals 99. The categorisation module 95 is connected via transmission and receiving communication means 105 to the database 93. Similarly, server 97 is connected to database 93 via communication means 107 and 109. A method of operation of a system in accordance with the present invention and thus shown in FIG. 6 will now be described with reference to FIG. 8.

FIG. 8 is a flow diagram 151 in which a web filtering process is started 153 by a user requesting a URL 155. The URL is checked 157 against the contents of the URL categorisation database 93 and the access policy that pertains to the particular user is also checked. The system checks whether access is allowed 159, if no 163 then a message is displayed on the user terminal indicating that access has been denied 195. If at this stage access is allowed 161, then the system undergoes a URL keyword check 165, similar to that described with reference to FIG. 7. A threshold is calculated 167 and if exceeded 169 the user is informed that display access is denied 195. If the threshold is not exceeded 171, then the request is forwarded to the web server 173 where active page scanning 175 is undertaken. If the threshold score for active page scanning 177 is exceeded 181 then display access is denied 195.

If this threshold is not exceeded 179 then the system undergoes real time categorisation 183 of the website. This means that the module 95 of the system shown in FIG. 6 analyses the web page in a manner similar to that shown in FIG. 3. Therefore, this embodiment of the present invention has the capability to filter websites based not only on the contents of a database that is much improved and expanded by the use of the automatic website classification system and method of the present invention but it can also categorise individual websites that have requested by a user.

This is an extremely useful additional feature because user may from time to time have knowledge of websites that are of particular interest to them but which may have not been encountered as yet by an automatic website categorisation system. For example, websites that relate to newly released music videos, films or other similar entertainment websites may be well known to fans of that particular type of music or film. In addition the users themselves may be excluded from accessing music or entertainment websites. Accordingly, the present invention provides the very real benefit that the users themselves provide a means for more rapidly updating and including new websites in various categories.

Where this type of situations arises, the real time categorisation of the particular website that is unknown to the database is fed back to the database for inclusion in an update of the database. In addition, this information is then provided to all users of the web filtering system.

Once real time categorisation 183 has been undertaken, the access policy of the particular user is checked 185 to determine whether the website category in which the website falls is accessible by the user 187. If access is allowed 189 then the page is displayed 193. If access is not allowed 191 then the message indicating that access has been denied to the user is displayed 195. Thereafter, the process terminates 197.

Improvements and modifications may be incorporated herein without deviating from the scope of the invention. 

1. A method for configuring website categorization software to automatically categorise websites from a predetermined category of website, the method comprising: identifying a website from a predetermined category; reading a markup language description of the website; extracting page content information from the markup language description; analysing the page content information; repeating the steps above for n websites in the predetermined category; and creating a profile for the website category based upon a combination of results from analysing the page content information of n websites.
 2. A method as claimed in claim 1, wherein analysing the page content comprises analysing text or tokens on the page.
 3. A method as claimed in claim 2, wherein analysing text on the page comprises counting a frequency of use of different words on the page.
 4. A method as claimed in claim 3, wherein the frequency of use of all words is counted.
 5. A method as claimed in claim 1, wherein analysing the page content comprises extracting a predetermined number of most frequently used words.
 6. A method as claimed in claim 1, wherein a pattern of use of the most frequently used words is analysed.
 7. A method as claimed in claim 1, wherein the result of the analysis of words is stored in a word table.
 8. A method as claimed in claim 1, wherein a pattern of words is produced which characterise a specific type (category) of website.
 9. A method as claimed in claim 1, further comprising assigning a probability weighting to a word or combination of words on the page, the probability weighting providing a likelihood that the word or combination of words is to be found on a predetermined category of website.
 10. A method of categorising a website, the method comprising: identifying the website; reading a markup language description of the website; extracting page content information from the markup language description; comparing the page content information with a plurality of website category profiles; and categorising the website on the basis of a degree of similarity between the profile and the extracted page content information.
 11. A method as claimed in claim 10, wherein the website category profile is created by a method for configuring website categorization software to automatically categorise websites from a predetermined category of website, the method comprising: identifying a website from a predetermined category; reading a markup language description of the website; extracting page content information from the markup language description; analysing the page content information; repeating the steps above for n websites in the predetermined category; and creating a profile for the website category based upon a combination of results from analyzing the page content information of the websites.
 12. A method as claimed in claim 10, wherein comparing the page content comprises analysing the tokens or words on the page.
 13. A method as claimed in claim 12, wherein analysing the words on the page comprises counting a frequency of use of different words on the page.
 14. A method as claimed in claim 13, wherein the frequency of use of all words is counted.
 15. A method as claimed in claim 10, wherein comparing the page content comprises extracting a predetermined number of most frequently used words.
 16. A method as claimed in claim 13, wherein a pattern of use of the most frequently used words is analysed.
 17. A method as claimed in claim 10, further comprising applying the probability weighting to a word or combination of words on the page, the probability weighting providing a likelihood that a word or combination of words is to be found on a predetermined category of website.
 18. A method of controlling access to a website requested by a user, the method comprising: comparing the website identifier with a database containing website identifiers in which the website identifiers are arranged in categories using the method of claim 10; granting or denying access to the website on the basis of the presence or absence of the website identifier in the database.
 19. A system for controlling access to websites, the system comprising: a database containing website identifiers in which the website identifiers are arranged in categories using the method of claim 10; a communicator that transmits a website identifier requested by a user to the database; a comparator that compares the website identifier requested by the user with the contents of the database such that access to the website is granted or denied on the basis of the presence or absence of the website identifier in the database.
 20. A system for controlling access to websites, the system comprising: a database containing website identifiers in which the website identifiers are arranged in categories; a communicator that transmits a website identifier requested by a user to the database; a comparator that compares the website identifier requested by the user with the contents of the database such that access to the website is denied on the basis of the presence of the website identifier in the database; and computer software loaded on a user's server, the computer software being adapted to execute the method of claim 10 where the website identifier requested by the user is not on the database in order to categorise the website and to grant or deny the user access to the website on the basis of the categorisation. 21.-42. (canceled) 